package com.hzy.ums.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 用户微信信息视图对象 ums_member_wechat
 *
 * @author zengxin
 * @date 2023-10-19
 */
@Data
@ExcelIgnoreUnannotated
public class MemberWechatVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long id;

    /**
     * 会员id
     */
    @ExcelProperty(value = "会员id")
    private Long memberId;

    /**
     * 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段
     */
    @ExcelProperty(value = "只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段")
    private String unionid;

    /**
     * 用户的标识，对当前公众号唯一
     */
    @ExcelProperty(value = "用户的标识，对当前公众号唯一")
    private String openid;

    /**
     * 小程序唯一身份ID
     */
    @ExcelProperty(value = "小程序唯一身份ID")
    private String routineOpenid;

    /**
     * 用户所在的分组ID（兼容旧的用户分组接口）
     */
    @ExcelProperty(value = "用户所在的分组ID", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "兼=容旧的用户分组接口")
    private Long groupid;

    /**
     * 用户被打上的标签ID列表
     */
    @ExcelProperty(value = "用户被打上的标签ID列表")
    private String tagidList;

    /**
     * 用户是否订阅该公众号标识
     */
    @ExcelProperty(value = "用户是否订阅该公众号标识", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_show_status")
    private Integer subscribe;

    /**
     * 关注公众号时间
     */
    @ExcelProperty(value = "关注公众号时间")
    private Integer subscribeTime;

    /**
     * 小程序用户会话密匙
     */
    @ExcelProperty(value = "小程序用户会话密匙")
    private String sessionKey;

    /**
     * token
     */
    @ExcelProperty(value = "token")
    private String accessToken;

    /**
     * 过期时间
     */
    @ExcelProperty(value = "过期时间")
    private Integer expiresIn;

    /**
     * 刷新token
     */
    @ExcelProperty(value = "刷新token")
    private String refreshToken;

    /**
     * 过期时间
     */
    @ExcelProperty(value = "过期时间")
    private Date expireTime;


}
